home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 3
/
Cream of the Crop 3.iso
/
bbs
/
rp100.zip
/
RELEASE.NOT
< prev
next >
Wrap
Text File
|
1993-12-26
|
52KB
|
1,503 lines
The Prime External Request Processor v1.00
By Hans Siemons, Prime Productions.
Setup utility by Marco Miltenburg.
Prime request processor documentation
Table of contence:
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 1
Small overview of features . . . . . . . . . . . . . . . . 1
Files included . . . . . . . . . . . . . . . . . . . . . . 2
2 Installation . . . . . . . . . . . . . . . . . . . . . . . 4
Setting up . . . . . . . . . . . . . . . . . . . . . . . . 4
System parameters . . . . . . . . . . . . . . . . . . . . . 5
Default limits . . . . . . . . . . . . . . . . . . . . . . 7
Group manager . . . . . . . . . . . . . . . . . . . . . . . 7
Node manager . . . . . . . . . . . . . . . . . . . . . . . 9
Level Manager . . . . . . . . . . . . . . . . . . . . . . . 9
About . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3 Template files . . . . . . . . . . . . . . . . . . . . . . 11
Keywords . . . . . . . . . . . . . . . . . . . . . . . . . 14
Template filenames . . . . . . . . . . . . . . . . . . . . 15
Language specific templates . . . . . . . . . . . . . . . . 15
4 Compilers . . . . . . . . . . . . . . . . . . . . . . . . . 16
RPcomp . . . . . . . . . . . . . . . . . . . . . . . . . . 16
RPnl . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
FBBSDESC . . . . . . . . . . . . . . . . . . . . . . . . . 17
RAdesc . . . . . . . . . . . . . . . . . . . . . . . . . . 17
MAXdesc . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Other compilers . . . . . . . . . . . . . . . . . . . . . . 17
5 RPpack . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6 RP at work . . . . . . . . . . . . . . . . . . . . . . . . 19
7 Support . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Thanks . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8 Shareware . . . . . . . . . . . . . . . . . . . . . . . . . 21
Legal stuff / standard disclaimer . . . . . . . . . . . . . 21
9 Future versions . . . . . . . . . . . . . . . . . . . . . . 22
10 Technical notes . . . . . . . . . . . . . . . . . . . . . 23
Page I
Prime request processor documentation
╔════════════════════════════════════════════════════════════════╕
║≡ 1 Introduction ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
Welcome to the Prime external request processor (from here on
called RP). This program is the one you need if you find
Frontdoors capabilities of handling requests not sufficient.
RP takes over the handling of filerequests, and offers more
request limiting capabilities then Frontdoor does.
RP needs DOS 3.30 or higher and a properly installed Frontdoor
2.11 (registered version only) or a Frontdoor 2.20a.Ml or higher
package (with the FD environment variable set)
╔════════════════════════════════════════════════════════════════╕
║≡ Small overview of features ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
Following is a list of features found in RP: (features marked with
{+} are only available in the registered version)
■ Request limits per timeslot {+} and per sessionsion. ie, max 5
files in one session, and 10 files in a day.
■ Request limits depending the requesting system, time, baudrate,
day of the week.
■ Variate the list of requestable files depending the requesting
system, time, baudrate, day of the week, secure/unsure sessions
and for unlisted nodes!
■ Password protected files only for specific nodes, or during
certain time slots.
■ Easy "about" requesting.
■ Attach messages if people request certain files, or from
certain directory's.
■ Very powerful template language. Templates can be chosen
depending the node number of the requesting system.
■ Send file descriptions in response message.
For instance, you can setup your points and personal friends so
that they can request without limitations, let people request your
magic names around the clock, but refusing the other files to be
requested on "busy" hours. You can send a message if somebody
requests RP, congratulating them on their excellent choice.
The number of ways to use it are endless.
Page 1
Prime request processor documentation
╔════════════════════════════════════════════════════════════════╕
║≡ Files included ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
The following files are in the RP100.ARJ archive (may also be any
other archive format):
RPCOMP.EXE Filebase compiler. Compiles the filebase, so that the
request processor can search files much faster. Speed
is important, because searching for files is done
while a session is going on.
RP.EXE The request processor itselve.
RPSETUP.EXE The setup utility
RPPACK.EXE Small utility to pack REQUESTD.RP. When packing it
keep the last 500 records.
INSTALL.EXE A small installation program. Puts the RP commandline
in Setup.FD, and turns on usage of the request
processor.
RPNL.EXE RP nodelist compiler.
RP.DOC This documentation.
SUPPORT.DOC List of worldwide support and registration sites.
PRIMEREG.EXE Registration form program. This program "takes your
orders", and fills in the registration form for you.
FILE_ID.DIZ Small description of RP.
RPSTRUCT.INC Structure file of RP.
SAMPLE.ARJ Sample template files, sample REQUESTD.RP and
TPLEXT.RP.
FREEREG.!!! How to earn a free RP registration!
FBBSDESC.EXE Description compiler for Files.BBS systems
RADESC.EXE Description compiler for Remote Access v2.xx systems.
RAPWDLST.EXE Creates a list of password protected files from the
RA 2.00 file database.
TBAV.NOT Note about the Thunderbyte anti virus utilities.
PASCAL.ARJ Units to help build a description compiler plus the
source code of RAPWDLST.EXE. Compiled units are TP
7.0 real mode format.
Page 2
Prime request processor documentation
╔════════════════════════════════════════════════════════════════╕
║≡ Files created ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
RP itselve creates the following files:
SETUP.RP The main setup file
FILEBASE.RP The file database, created by Rpcomp
MAGIC.RP The magic files database, created by RPcomp
TEXTBASE.RP A database shared by FILEBASE.RP and MAGIC.RP,
containing actual directory's and filenames. Don't
worry about any duplicate entries!
LEVEL.RP Level database
NODEFILE.RP Node database
REQUESTD.RP This file holds all info about previous requests
╔════════════════════════════════════════════════════════════════╕
║≡ Other files supported ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
RP supports the following "3rd party" database files.
DESCRIPT.RP A database containing the file descriptions.
DESCINFO.RP A database containing information about the file
descriptions.
Page 3
Prime request processor documentation
╔════════════════════════════════════════════════════════════════╕
║≡ 2 Installation ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
Unpack the archive in any directory, and execute the install
utility. It will adjust Setup.FD to install the request processor.
After using Install.EXE, you need to setup RP itselve, using
RPsetup.
If you do want to install RP manually in your mailer, here is the
commandline needed: "rp /x=x /f=f /t=t /r=r /h=h"
After setting up everything properly, you need to run RPcomp to
create RP's file database.
It is recommended that you run RPcomp atleast daily in your
maintenance batchfile, but you are advised to run it after every
file import, or after you created your announce messages. (modern
.TIC processors like Allfix have fine ways of telling you that
files have been imported either using errorlevels or semaphore
files).
Further, install RPpack and RPcomp in your batchfiles. More about
these utilities later on.
It is also recommended to install a disk cache, to speed up
processing.
Following is a detailed explanation about the setup utility.
╔════════════════════════════════════════════════════════════════╕
║≡ Setting up ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
RP includes a full screen setup utility, for your convenience.
Later on, "recovertime" is mentioned. This is the time in minutes
how long RP will remember previous requests. It is used for the
"request limits per timeslot" Recovertime defines the length of
the timeslot. Ie, if you set it to 60 minutes, previous requests
are forgotten after 60 minutes. This is only used in the
registered version.
Page 4
Prime request processor documentation
╔════════════════════════════════════════════════════════════════╕
║≡ System parameters ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
The system parameters menu lets you setup the following things:
External editor : The editor you want to use for editing your
text files from within the setup utility.
Temporary directory : If filled in, all temporary files are
created there. This includes the PKT file
with the request response message, and any
files in CD-Rom groups. It is important in a
multiline environment to use the $TASK$
macro in the path name, to have unique
directory's for each line. (to prevent your
mailer from deleting files, another task
still has to sent).
Logfile name : By default, RP logs to your mailers logfile.
If you set this field, RP's own logfile will
be used. You may use also the $TASK$ macro
in this logfile name.
RPcomp logfile name : By default RPcomp will use RP's logfile. If
this field is set, RPcomp's own logfile will
be used. If both the RPcomp logfile name and
RP logfile name are empty, RPcomp will do
*NO* logging. (so it will not use your
mailers logfile). The RPcomp logfile does
*NOT* support the $TASK$ macro, since it is
not supposed to run in multiple tasks.
About text : Defines the filename which contains the
"about" response message. If you define no
path, RP will look for this in its system
directory.
Page 5
Prime request processor documentation
Edit SENDWITH.RP : Edit the SENDWITH.RP file. SENDWITH.RP is
build up as follows: (ASCII text)
<part of path/filename> <message file>
ie, k:\prime\ prime.txt
k:\pdn\ pdn.txt
rp-100 rp.txt
Now if part of a filename which is send to
the remote system is for instance k:\pdn\,
pdn.txt is send to the requesting system as
a message, with for instance, a notify of
the fact that you can also connect the file
distribution areas automaticly. The <part-
of> may appear anywhere in the complete path
and filename of the file that is being send.
Edit TPLEXT.RP : Edit the TPLEXT.RP file. More about this
file in the chapter about templates.
Systempath : By default RP uses the location of the
executable as system path. If you set this
path however, RP uses this one as a
systempath.
Nodelist lookup : RP does not get any "listed/unlisted"
information from Frontdoor. If you want to
activate RP's own nodelist lookup routines,
set this to yes. If you turn this off, RP
will be a bit faster (no nodelist lookup),
but every node will be treated as UNLISTED!
Points listed : Set this to yes, if you want to tread points
of listed systems also as listed.
Nodelist path : Path to nodelist
Nodelist extension : Extension of nodelist index. This can be RA
(RP's indexes are compatible with RA), or
something else.
Page 6
Prime request processor documentation
╔════════════════════════════════════════════════════════════════╕
║≡ Default limits ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
The default limits menu lets you set up limits for nodes, not
found in your node database, there are 3 groups:
Unlisted systems, for people not found in de the nodelist
Unsecure session, for unsecure sessions, and secure session for
secure sessions. You can setup the groups the requesting system
may request from, the level (which defines the request limits
themselves), and the recovertime, which is explained in the
"setting up" chapter.
╔════════════════════════════════════════════════════════════════╕
║≡ Group manager ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
In the group manager, you setup the different groups for RP. You
can give nodes access to groups only at certain times and days, or
no access at all.
The following fields are available:
Name : The name of the group. Only used for your
visualization.
Minimum baudrate : If a requesting node's baudrate is lower
then the one listed here, the group is
disabled.
Limited hours : If this field is set to yes, time slots are
checked. If a node calls outside a timeslot,
the group is disabled.
Start- and stoptime : These fields define the timeslot. 05:00-
06:00 is allowed (which means that the group
is only available between 5 05:00 and
06:00), and 06:00 and 05:00 is allowed.
(which means that the group is *NOT*
available between 05:00 and 06:00).
Days : Only on the days listed, requesting is
possible from this group.
Free KBytes : If set to yes, Kilobytes in this group are
not taken in consideration when checking
request limits.
Page 7
Prime request processor documentation
Free Time : If set to yes, transfer times in this group
are not taken in consideration when checking
request limits.
Free Match : If set to yes, the number of files requested
from this group are not taken in
consideration when checking request limits.
Stop match : RP's search engine will stop searching in
this group, if there was already a "hit" on
the requested file.
CD-Rom : If set to true, all files in this group will
be copied into the temporary directory
before your mailer will send them.
List : Full path and filename of plain ascii text
containing a list of directory's, a request
is possible from. You can put a
"!<passwords>" behind a directory name to
indicate a password protected directory.
Magic list : Full path and filename of a plain ascii text
containing a list of magic files. RP reads
the standard magic filename layout, which
Frontdoor also uses. Any service requests
are ignored.
Password list : A list of password protected files,
directory's or a unique portions of it. No
wildcards are supported in this file.
Page 8
Prime request processor documentation
╔════════════════════════════════════════════════════════════════╕
║≡ Node manager ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
In the node manager you set up different request limits for
different nodes.
The following fields can be set:
Sysop name : The name of the sysop. This is only a
reminder for you, and not actually being
used by RP.
Level : The level defines the actual request limits.
Groups : The groups the node has request access to,
with respect to time slots.
Recovertime : Time to "forget" requests in minutes. {+}
Deny requests : If this field is set to yes, no requests are
accepted from this node. He will receive a
message stating that requests by him are
denied.
╔════════════════════════════════════════════════════════════════╕
║≡ Level Manager ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
The level defines the actual request limits.
The following fields can be set:
Level : RP will only use this record if the level of
the user is higher or equal to this level.
The best match will be used.
Baudrate : RP will only use this record if the baudrate
of the user is higher or equal to this
baudrate. The best match will be used.
Limited hours : If this field is set to yes, time slots are
checked. A level record can only be used, if
the times in the timeslot are ok, or
disabled.
This will allow you to set different request
limits, depending the time of the day.
Page 9
Prime request processor documentation
Start- and stoptime : These fields define the timeslot. 05:00-
06:00 is allowed (which means that the level
record is only available between 5 05:00 and
06:00), and 06:00 and 05:00 is allowed.
(which means that the level is *NOT*
available between 05:00 and 06:00).
Days : Only on the days listed, this level record
can be used.
Per timeslot {+}
Max. KBytes {+} : The maximum number of kilobytes that will be
send during a timeslot.
Max. Time {+} : The maximum transfer time during a timeslot.
Max. Match {+} : The maximum number of files send during a
timeslot.
Per session
Max. KBytes : The maximum number of kilobytes that will be
send during a session.
Max. Time : The maximum transfer time during a session.
Max. Match : The maximum number of files send during a
session.
╔════════════════════════════════════════════════════════════════╕
║≡ About ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
One of the many standard "magic names" is ABOUT, which should
return a message with information about your system. However, with
Frontdoor, it is quite a lot of work to send an about message, it
is a lot easier to just send a plain file.
RP however offers an easy way to send your about text as a
message, with correct addressing. Just setup an about response
message in RPsetup, and that file will be send as message to the
requesting system.
Page 10
Prime request processor documentation
╔════════════════════════════════════════════════════════════════╕
║≡ 3 Template files ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
RP uses a template system for its response messages. The ones not
used for the actual request response are pretty much your every
day average template files, but the request response template
file. Well... I am very much aware of the fact that they look
mighty strange, but they work.
It is best not to setup a template file from scratch, but to edit
the existing example templates.
Depending on the result of the request, RP needs to give different
response messages. Ie, it is quite useless to add a paragraph
about files that were found, if no files were found. Therefore
RP's template language has special keywords, which tell RP whether
or not to include the line. RP's template language also contains
keywords to change the subject line, or the from name of the
message {+}.
Here is a list of them, with an explanation when they are
included:
@SUBJECT@ The line after this keywords will be the
subject of the message. This defaults to
"Request response message".
@WHOFROM@ Changes the Who From name {+}. This defaults
to "Request Processor".
@LIMITKB@ Sets the "kilobyte limit" text, used in the
%REASON% keyword. This defaults to "kilobyte
limit".
@LIMITTM@ Sets the "time limit" text, used in the
%REASON% keyword. This defaults to "time
limit".
@LIMITMT@ Sets the "match limit" text, used in the
%REASON% keyword. This defaults to "match
limit".
@LIMITNE@ Sets the "next event in the way" text, used in
the %REASON% keyword. This defaults to "next
event in the way".
@NODESCR@ Sets the "no description available" text, used
in the %DESCRIPTIONS% keyword. This defaults
to "no description available".
@SETMARG@ Sets the margin for descriptions. This
defaults to 55. Words will be wrapped
automaticly.
@COMMENT@ This line will never be included. Just meant
as comment to you.
Page 11
Prime request processor documentation
@SENDFLS@ Only if files are actually sent, this line
will be included. The %FILES% keyword can be
used in this line, and will be replaced by the
filename being sent. (a line with the %FILES%
keywords is repeated for every file that is
being sent).
The %DESCRIPTION% keyword can also be used in
a line with a %FILES% keyword, %DESCRIPTION%
which will be replaced with the description of
the file.
@NSNDFLS@ If no files were send, this line will be
included.
@LIMITED@ Only if files are not sent because of request
limits, this line will be included. The
%FILES% and %REASON% keywords can be used in
this line, and will be replaced by
respectively the filename and the reason why
it could not be sent. (a line with the %FILES%
keywords is repeated for every file that could
not be send).
@NOMATCH@ Only if requests were made with no matching
file or magic name, this line will be added.
The %REQUESTS% macro can be used in this line,
and will be replaced by the filespecification
the user requested. (a line with the
%REQUESTS% macro will be repeated for every
filespecification that is not found).
@DGROUPS@ Only if groups are disabled, and certain
requests did not have a matching file or magic
name, this line will be included. The
%DGROUPS% and %DGROUPSNAME% can be used in
this line (one or both), and are replaced by
respectively the group tag, and the group
name. (a line with either the %DGROUPS% and/or
the %DGROUPSNAME% keyword will be repeated for
every disabled group).
@NOLIMIT@ Only if the remote site has no request limits
at all, this line is included.
@YSLIMIT@ If the remote site has one or more request
limits, this line is included.
@KSLIMIT@ If the remote site has a kilobyte request
limit per session, this line is included.
@KTLIMIT@ If the remote site has a kilobyte request
limit per timeslot, this line is included.
@TSLIMIT@ If the remote site has a time request limit
per session, this line is included.
@TTLIMIT@ If the remote site has a time request limit
per timeslot, this line is included.
Page 12
Prime request processor documentation
@MSLIMIT@ If the remote site has a match request limit
per session, this line is included.
@MTLIMIT@ If the remote site has a match request limit
per timeslot, this line is included.
@YNLIMIT@ This line is included if the remote site has
request limits set, but not all.
@YTLIMIT@ This line is included if the remote site has
timeslot limits set. The %TIMESLOT% macro can
be used here, which expands to the time in
minutes a timeslot lasts.
@FAILEDR@ This line is included if the request somehow
failed. (ie, files not found, or request
limits).
Page 13
Prime request processor documentation
╔════════════════════════════════════════════════════════════════╕
║≡ Keywords ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
RP also supports the "standard" set of keywords. Here is a list of
them:
%MYAKA% Replaced with the AKA used to send a message
(RP uses your mailers aka matching table to
decided which aka to use)
%YOURAKA% The main AKA used by the Remote System.
%FULLNAME% The name of the sysop of the remote system.
%FIRSTNAME% The first name of the sysop of the Remote
system.
%LASTNAME% The last name of the sysop of the remote
system.
%DATE% Current date.
%TIME% Current time.
%PROGRAM% Program name and version. In unregistered
mode, this keyword is mandatory. If not used,
RP will attach a line at the bottem of the
message.
%KBREQTOTAL% Total kilobytes requested (in this and other
sessions during the current timeslot).
%NRREQTOTAL% Total files requested (in this and other
sessions during the current timeslot).
%KBREQSES% Total kilobytes requested in this session.
%NRREQSES% Total number of files requested in this
session.
%KBREQTSL% Total kilobytes requested in previous
sessions. (during the current timeslot).
%NRREQTSL% Total number of files requested in previous
sessions. (during the current timeslot)
%KSLIMIT% The kilobytes per session limit.
%KTLIMIT% The kilobytes per timeslot limit.
%TSLIMIT% The time per session limit.
%TTLIMIT% The time per timeslot limit.
%MSLIMIT% The match per session limit.
%MTLIMIT% The match per timeslot limit.
Further, if the last character of a line is a backslash (\), no
carriage return will be placed in the message after this line.
(ie, use this in paragraphs)
Page 14
Prime request processor documentation
╔════════════════════════════════════════════════════════════════╕
║≡ Template filenames ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
Templates can be placed anywhere on your HD, but if you do not
specify a path, RP will look for them in the system directory.
A few template names are hardcoded, reqresp.tpl (the request
response message), and noreq.tpl, send if a node may not request.
╔════════════════════════════════════════════════════════════════╕
║≡ Language specific templates ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
RP can send a template, depending on (part of) the nodenumber of
the system requesting. It uses the file TPLEXT.RP for that, with
the following format:
<part-of-nodenumber> <extension>
<part-of-nodenumber> <extension>
For instance:
2:512/149 MYP
2:512/ DUT
2:500/ DUT
2:28 DUT
2:24 GER
If a line matches, RP will first look for a template with the
original filename, but with the new extension. If not found, RP
will try to open the original filename.
The first match goes, so 2:512/149 goes before 2:512/.
Page 15
Prime request processor documentation
╔════════════════════════════════════════════════════════════════╕
║≡ 4 Compilers ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
RP includes several compilers, to compile your file database,
nodelists and several external description compilers.
╔════════════════════════════════════════════════════════════════╕
║≡ RPcomp ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
RPcomp is the file database compiler of RP. The reasons for RP
using a file database are quite simple. It is faster, and easier
to search in. (with speed being the most important reason).
The database RPcomp creates is described in the RPSTRUCT.INC
document.
The reason for speed being so important is obvious, the searching
of files is done during the session, which could be an expensive
long distance call.
RPcomp requires no parameters. After firing up, RP instantly
compiles your file database.
RPcomp can be run while your mailer is online, and even when RP is
processing a request. RP handles this. Please note that only one
copy of RPcomp may run at a time.
RPcomp lays no static link to the description database. Ie, the
order of compiling is not important.
╔════════════════════════════════════════════════════════════════╕
║≡ RPnl ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
RPnl is RP's nodelist compiler. Use it as follows:
RPNL <nodelist1> <nodelist2> <nodelist3>
If you do not provide an extension, RPnl will look for the latest
nodelist itselve. (RPnl does not support wildcards, so don't put
NODELIST.* on the commandline).
RPnl can handle up to 20 nodelists, but in a Frontdoor system
"RPNL nodelist fdnet.pvt" is sufficient.
Note, RPnl isn't exactly what you would call very fast. I would
recommend using OTNL (included with the great netmail tracker O/T-
Track), which is more then twice as fast then RPnl.
If you run Remote Access, or O/T-Track, RP can read the indexes
from those programs. Insert the right extension in RPsetup.
Page 16
Prime request processor documentation
╔════════════════════════════════════════════════════════════════╕
║≡ FBBSDESC ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
FBBSdesc is a description compiler for RP. It takes the file
descriptions out of Files.BBS. It supports multiline descriptions,
and wildcards in Files.BBS.
Fire it up with either RP, or a filename containing directory's to
include, ie:
FBBSDESC RP or
FBBSDESC dirlist.txt
You can optionally use the /a commandline switch, to append to the
database, instead of creating a new one. (for instance if you
already have compiled a description database specific to your BBS
package, and want to add a few directory's with just a files.bbs
in it).
╔════════════════════════════════════════════════════════════════╕
║≡ RAdesc ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
This program converts the file descriptions in the Remote Access
File Database to RP format. It only takes the /a commandline
switch, to append to the RP's description database, instead of
creating a new one.
╔════════════════════════════════════════════════════════════════╕
║≡ MAXdesc ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
This program compiles the file descriptions from Maximus.
(standard Files.BBS with parameters). On the commandline, enter
full path and name of your FileArea.CTL. You can also use the /a
commandline switch, to append to the RP's description database,
instead of creating a new one.
╔════════════════════════════════════════════════════════════════╕
║≡ Other compilers ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
Other description compilers are in the making. If your BBS
supports Files.BBS, FBBSDESC can be used, if your BBS package uses
a specific database format, you can request a compiler for it.
Please send as much information as possible about the database
format being used. If you are a programmer, you can also program
one yourselves, and earn a free RP key (look at freereg.!!!).
Page 17
Prime request processor documentation
╔════════════════════════════════════════════════════════════════╕
║≡ 5 RPpack ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
RPpack packs the requested files database from RP. This file
(requestd.rp) contains information for RP to handle request limits
per timeslot, and remembering requests.
RPpack only keeps the last 500 records of this file. It needs no
additional parameters.
Page 18
Prime request processor documentation
╔════════════════════════════════════════════════════════════════╕
║≡ 6 RP at work ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
When your mailer encounters a file request message, it will create
a file with all requested files. RP will read this file, and
search the database for all matching filenames. (filtering out any
duplicate names).
After all checking, a list of files to send to the user is
created, descriptions are gathered, response messages are created
and control is given back to your mailer, which on his turn sends
the files, and the response message(s) to the requesting system.
RP can not really check if a request came through all the way. Ie,
the connection could be lost during a file transfer. Therefore, RP
will store each file send, per system. Now if a system requests
the same file again, it is probably because of a request failure,
the files are not counted again!
Page 19
Prime request processor documentation
╔════════════════════════════════════════════════════════════════╕
║≡ 7 Support ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
For a list of international support and registration sites, please
look in Support.DOC.
If you have any problem when running or installing RP, we
appreciate a call or message from you. Don't just delete it!
╔════════════════════════════════════════════════════════════════╕
║≡ Thanks ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
Many persons contributed in the development of RP, here are some
of them in no particular order.
Thanks to Peter Hampf, Frank Troost (for receiving many response
messages ;-)), Wilfried Rutjes, Gerrit Mak, Eckhardt von dem
Berge, Hans de Vor, Jan R. Koopmans, Cor Gloudie and many more
suggesting nice features during the development stage.
Of course a special thanks to Marco Miltenburg for producing the
setup utility, and also a special thanks to Peter Hampf for
various things.
Page 20
Prime request processor documentation
╔════════════════════════════════════════════════════════════════╕
║≡ 8 Shareware ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
RP is distributed under the shareware concept. You may evaluate RP
for a period of one (1) month, after which you must either stop
using the software, or register it. The unregistered version will
not bleep, delay or other annoying stuff. It only lacks the
"request limits per timeslot".
Current price is Hfl 30,- or US$ 25,-. For prices in other
currency's, fire up the REGFORM program, which tells you the price
in the currency of the registration sites. There is no separate
price for commercial usage.
Group discount is available on request, and starts with 5 copies
or more.
╔════════════════════════════════════════════════════════════════╕
║≡ Legal stuff / standard disclaimer ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
■ In no event shall Prime Productions nor Hans Siemons nor any of
his support sites be liable to you or anyone else for any
damage directly or indirectly caused by RP or it's accompanying
products. Prime Productions, Hans Siemons and Marco Miltenburg
guarantee that no code is made to deliberately damage yours or
anyone else his system, and that there are no intentional flaws
in the security system.
■ All executables, documents and example files are copyrighted
(c) 1993,94 by Hans Siemons, Marco Miltenburg and Prime
Productions. You may however share UNMODIFIED copies of this
product, as long as no money is charged or accepted, other then
cost of the material.
■ RP is distributed under the shareware concept. This means that
after one (1) month, you must either register, or stop using
the software. RAPWDLST is excluded from this. RAPWDLST is
public domain, with no rights reserved.
■ All brands and product names named in this documentation are
trademarks or registered trademarks of there respective
holders.
Page 21
Prime request processor documentation
╔════════════════════════════════════════════════════════════════╕
║≡ 9 Future versions ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
There are some things I would like to do for a next version.
Things on the current to-do list are:
■ Wildcard support in the node manager.
■ Support for InterMail
■ Add a Replace.RP. Ie, a node requests RP100.ARJ, and that
request will automaticly replaced with RP101.ARJ, and a few
lines in the request response message that his request was
replaced.
And of course, useful suggestions are more then welcome.
Page 22
Prime request processor documentation
╔════════════════════════════════════════════════════════════════╕
║≡ 10 Technical notes ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡│
╙────────────────────────────────────────────────────────────────┘
RP supports Frontdoor 2.20(a) and 2.11 fully. It does *NOT*, I
repeat *NOT* take any request limits from Setup.FD. All request
limits should be defined in RPsetup, if they are not defined in
RPsetup, there are no request limits!
When groups are disabled (because they are simply unavailable, or
made unavailable because of time slots) or passwords don't match,
the file is simply not found. The search logic prevent RP from
even coming close to finding it ;-)
Errors in magic filenames and stuff are not seen as errors. RPcomp
just reads the stuff, and stores valid information.
RP will never send the same file more then once in a session. RP's
search engine first makes a full list of all matching files. This
list later on goes trough a "limit checker", producing a list of
files to send.
Also mind the following, if a file could be found in group A, and
in group B (and the node had access to both), and the file in
Group A is only free KB, and the file in Group B only free time,
the file will be both free KB, and free time!
RP creates fts-0001 and fsc-0039 compatible packets. It uses ftsc
productcode 0xffh, since there no codes available anymore. You can
identify a packet created by RP by the productcode 0xffh, and the
longdata field contains 0x00525052h <RPR#0>.
RP was programmed using Borland Pascal with Objects 7.0, including
the tools that came with it (Turbo Profiler, debugger and
assembler).
Source files were edited using Semware's QEdit.
RPsetup was developed by Marco Miltenburg. Thanks a lot!
The original visual interface concept of RPsetup is designed by
Joaquim Homrighausen. Used with permission.
Structures used by RP are included as RPSTRUCT.INC.
Page 23